/**
 * 请求封装
 */
import axios from 'axios';
// import configUrl from './url.js';
// import  Message  from 'element-ui';

const service = axios.create({
    baseURL:'api',
    // baseURL: configUrl.baseURL,
    // withCredentials: true, // 当跨域请求时发送cookie
    timeout: 15000, // 请求超时
});

//添加请求拦截器   请求接口统一添加token
service.interceptors.request.use(
    config =>{

        // 获取token
        const tokenStr = window.sessionStorage.getItem('token')
        config.headers.token = tokenStr || '';  //请求添加token
        return config;
    },
    error =>{
        return Promise.reject(error);
    }
)


// 响应拦截器
service.interceptors.response.use(
    response => {
        //如果接口返回token，替换本地旧token
        if (response.headers.token) {
            sessionStorage.setItem("token", response.headers.token);
        }
        //自定义设置后台返回code对应的响应方式
        if (response.data.code == 500) { // 未登录或登录超时
            // return Promise.reject(new Error('登录超时'));
            console.log('500',response)
            // alert(response.data.message)
            this.$message.error(response.data.message);

            return Promise.reject(response);
        } else { //接口正常，返回数据
            return response;
        }
    },
    error => {
        console.log('error500',error)
        if (error.response && error.response.data.code === 500) {

            this.$message.error(error.data.message);
        }else {
            this.$message.error('服务器开小差了，请稍后再试!');
        }
        // if (error.message) {
        //     // this.$massage.error('服务器开小差了，请稍后再试!')
        //     //错误响应
        //     this.$message.error('服务器开小差了，请稍后再试!')
        // }

        return Promise.reject(error);
    }
);
//暴露出封装过的服务
export default service;
